package gang.org.springframework.framework.core.annotation;

import gang.org.springframework.framework.metadata.GangAbstractMergedAnnotation;
import gang.org.springframework.framework.metadata.GangMergedAnnotation;

import java.lang.annotation.Annotation;
import java.util.Map;
import java.util.function.Function;

/**
 * @Author：gang.chen
 * @Date：2023/9/6 13:44
 */
public final class GangMissingMergedAnnotation<A extends Annotation> extends GangAbstractMergedAnnotation<A> {

    public static final GangMissingMergedAnnotation<?> INSTANCE = new GangMissingMergedAnnotation();

    public GangMissingMergedAnnotation(){
    }


    public static <A extends Annotation> GangMergedAnnotation<A> getInstance(){
        return (GangMergedAnnotation<A>) INSTANCE;
    }

    @Override
    public Class<A> getType() {
        //TODO
        return null;
    }

    @Override
    public <T extends Map<String, Object>> T asMap(Function<GangMergedAnnotation<?>, T> factory, GangAdapt... adaptations) {
        //TODO
        return null;
    }
}
